import { CHANGE_INPUT_VALUE, ADD_ITEM, DEL_ITEM} from "./actionTypes";
const defaultState = {
	inputValue:'',
	list:['1','2','3']
}

//state就是所有管理的数据  reducer 可以接受state 但绝对不能修改state
//必须是纯函数，给固定的输入，就一定会有固定的输出，而且不能有任何副作用
//只能用state和action中的值 而且不能改变state和action的值
export default (state = defaultState, action) => {
	if(action.type === CHANGE_INPUT_VALUE){
		const newState = JSON.parse(JSON.stringify(state));
		newState.inputValue = action.value;
		return newState;
	}

	if(action.type === ADD_ITEM){
		const newState = JSON.parse(JSON.stringify(state));
		newState.list.push(state.inputValue);
		newState.inputValue ='';
		return newState;
	}

	if(action.type === DEL_ITEM){
		const newState = JSON.parse(JSON.stringify(state));
		newState.list.splice(action.index,1);
		return newState;
	}

	return state;
}
